package com.yupi.usercenter.model.dto;

import com.yupi.usercenter.base.model.dto.BaseDTO;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;


/**
 * 云路供应链科技有限公司 版权所有 © Copyright 2020
 * <p>
 * 监控工单表 新增DTO
 *
 * @author jiweiyu
 * @version 1.0.0
 * @date Created in 2021-03-05
 */
@Getter
@Setter
@ToString
//(value="MonitorWoAddDTO对象", description="监控工单表 新增DTO")
public class MonitorWoAddDTO extends BaseDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 监控工单编号
     */
    //(value = "监控工单编号")
    private String workOrderCode;

    /**
     * 申报人姓名
     */
    //(value = "申报人姓名")
    private String applyName;

    /**
     * 申报人联系方式
     */
    //(value = "申报人联系方式")
    private String applyContactInformation;

    /**
     * 运单号
     */
    //(value = "运单号")
    private String waybillNo;

    /**
     * 操作类型id
     */
    //(value = "操作类型id")
    private Long operationTypeId;

    /**
     * 操作类型名称
     */
    //(value = "操作类型名称")
    private String operationTypeName;

    /**
     * 问题件id
     */
    //(value = "问题件id")
    private Long problemPieceId;

    /**
     * 问题件编号
     */
    //(value = "问题件编号")
    private String problemPieceCode;

    /**
     * 问题件类型id（基础数据的一级类型id）
     */
    //(value = "问题件类型id（基础数据的一级类型id）")
    private Long problemTypeId;

    /**
     * 问题件类型编码
     */
    //(value = "问题件类型编码")
    private String problemTypeCode;

    /**
     * 问题件类型名称
     */
    //(value = "问题件类型名称")
    private String problemTypeName;

    /**
     * 问题件二级类型id（基础数据的二级类型id）
     */
    //(value = "问题件二级类型id（基础数据的二级类型id）")
    private Long problemTypeSubjectId;

    /**
     * 问题件二级类型编码
     */
    //(value = "问题件二级类型编码")
    private String problemTypeSubjectCode;

    /**
     * 问题件二级类型名称
     */
    //(value = "问题件二级类型名称")
    private String problemTypeSubjectName;

    /**
     * 问题件原因
     */
    //(value = "问题件原因")
    private String problemDescription;

    /**
     * 申报网点撤销原因
     */
    //(value = "申报网点撤销原因")
    private String applyCancelReason;

    /**
     * 举证附件 [{"name":"","path":""}]
     */
    //(value = "举证附件 [{\"name\":\"\",\"path\":\"\"}]")
    private String proofAttachment;

    /**
     * 视频附件
     */
    //(value = "视频附件")
    private String videoAttachment;

    /**
     * 客户编码
     */
    //(value = "客户编码")
    private String customerCode;

    /**
     * 客户名称
     */
    //(value = "客户名称")
    private String customerName;

    /**
     * 问题件附件 [{"name":"","path":""}]
     */
    //(value = "问题件附件 [{\"name\":\"\",\"path\":\"\"}]")
    private String problemPieceAttachment;

    /**
     * 处罚金额
     */
    //(value = "处罚金额")
    private BigDecimal penaltyAmount;

    /**
     * 奖励金额
     */
    //(value = "奖励金额")
    private BigDecimal awardAmount;

    /**
     * 补贴金额
     */
    //(value = "补贴金额")
    private BigDecimal subsidyAmount;

    /**
     * 手续费用
     */
    //(value = "手续费用")
    private BigDecimal handlingFee;

    /**
     * 问题件流转状态 0:待处理 1:待处理 2:待审核 3:已审核 4:已驳回 5:已申诉 6:已结案 7:撤销 8:已出帐
     */
    //(value = "问题件流转状态 0:待处理 1:待处理 2:待审核 3:已审核 4:已驳回 5:已申诉 6:已结案 7:撤销 8:已出帐")
    private Integer workOrderStatus;

    /**
     * 监控工单来源
     */
    //(value = "监控工单来源")
    private Integer workOrderSource;

    /**
     * 申请方网点是否发起重审: 1否,2是
     */
    //(value = "申请方网点是否发起重审: 1否,2是")
    private Integer applyReviewFlag;

    /**
     * 责任方代理是否发起重审: 1否,2是
     */
    //(value = "责任方代理是否发起重审: 1否,2是")
    private Integer responsibleReviewFlag;

    /**
     * 责任方是否请求代理区介入: 1否,2是
     */
    //(value = "责任方是否请求代理区介入: 1否,2是")
    private Integer interventionFlag;

    /**
     * 是否申诉过: 1否,2是
     */
    //(value = "是否申诉过: 1否,2是")
    private Integer appealFlag;

    /**
     * 完结时间
     */
    //(value = "完结时间")
    private LocalDateTime finishTime;

    /**
     * 完结类型（1：申报代理区超时未处理，2：责任网点超时未处理，3：责任代理区超时未处理，4：申报网点撤销，5：人工完结(申报代理区驳回后申报网点直接完结)，6：人工完结(责任网点认责），7：人工完结(总部完结））
     */
    //(value = "完结类型（1：申报代理区超时未处理，2：责任网点超时未处理，3：责任代理区超时未处理，4：申报网点撤销，5：人工完结(申报代理区驳回后申报网点直接完结)，6：人工完结(责任网点认责），7：人工完结(总部完结））")
    private Integer finishType;

    /**
     * 是否已生成流水单：1否，2是
     */
    //(value = "是否已生成流水单：1否，2是")
    private Integer flowFlag;

    /**
     * 是否已生成补贴流水单：1否，2是
     */
    //(value = "是否已生成补贴流水单：1否，2是")
    private Integer subsidyFlowFlag;

    /**
     * 状态更新时间
     */
    //(value = "状态更新时间")
    private LocalDateTime statusUpdateTime;

    /**
     * 申报网点id
     */
    //(value = "申报网点id")
    private Integer applyNetworkId;

    /**
     * 申报网点code
     */
    //(value = "申报网点code")
    private String applyNetworkCode;

    /**
     * 申报网点name
     */
    //(value = "申报网点name")
    private String applyNetworkName;

    /**
     * 申报代理区id
     */
    //(value = "申报代理区id")
    private Integer applyProxyId;

    /**
     * 申报代理区code
     */
    //(value = "申报代理区code")
    private String applyProxyCode;

    /**
     * 申报代理区name
     */
    //(value = "申报代理区name")
    private String applyProxyName;

    /**
     * 责任网点id
     */
    //(value = "责任网点id")
    private Integer respNetworkId;

    /**
     * 责任网点code
     */
    //(value = "责任网点code")
    private String respNetworkCode;

    /**
     * 责任网点name
     */
    //(value = "责任网点name")
    private String respNetworkName;

    /**
     * 责任代理区id
     */
    //(value = "责任代理区id")
    private Integer respProxyId;

    /**
     * 责任代理区code
     */
    //(value = "责任代理区code")
    private String respProxyCode;

    /**
     * 责任代理区name
     */
    //(value = "责任代理区name")
    private String respProxyName;

    /**
     * 处罚网点id
     */
    //(value = "处罚网点id")
    private Integer penaltyNetworkId;

    /**
     * 处罚网点code
     */
    //(value = "处罚网点code")
    private String penaltyNetworkCode;

    /**
     * 处罚网点name
     */
    //(value = "处罚网点name")
    private String penaltyNetworkName;

    /**
     * 奖励网点id
     */
    //(value = "奖励网点id")
    private Integer awardNetworkId;

    /**
     * 奖励网点code
     */
    //(value = "奖励网点code")
    private String awardNetworkCode;

    /**
     * 奖励网点name
     */
    //(value = "奖励网点name")
    private String awardNetworkName;

    /**
     * 补贴网点id
     */
    //(value = "补贴网点id")
    private Integer subsidyNetworkId;

    /**
     * 补贴网点code
     */
    //(value = "补贴网点code")
    private String subsidyNetworkCode;

    /**
     * 补贴网点name
     */
    //(value = "补贴网点name")
    private String subsidyNetworkName;

    /**
     * 手续费网点id
     */
    //(value = "手续费网点id")
    private Integer feeNetworkId;

    /**
     * 手续费网点code
     */
    //(value = "手续费网点code")
    private String feeNetworkCode;

    /**
     * 手续费网点code
     */
    //(value = "手续费网点code")
    private String feeNetworkName;

    /**
     * 申报所属中心id
     */
    //(value = "申报所属中心id")
    private Integer applyCenterId;

    /**
     * 申报所属中心code
     */
    //(value = "申报所属中心code")
    private String applyCenterCode;

    /**
     * 申报所属中心name
     */
    //(value = "申报所属中心name")
    private String applyCenterName;

    /**
     * 责任所属中心id
     */
    //(value = "责任所属中心id")
    private Integer respCenterId;

    /**
     * 责任所属中心code
     */
    //(value = "责任所属中心code")
    private String respCenterCode;

    /**
     * 责任所属中心name
     */
    //(value = "责任所属中心name")
    private String respCenterName;

    /**
     * 责任网点标识：1网点，2集散点，3转运中心
     */
    //(value = "责任网点标识：1网点，2集散点，3转运中心")
    private Integer respFlag;

    /**
     * 包号信息
     */
    //(value = "包号信息")
    private String packageNumberInfo;

    /**
     * 车牌号
     */
    //(value = "车牌号")
    private String plateNumber;

    /**
     * 任务单号
     */
    //(value = "任务单号")
    private String taskOrderCode;

    /**
     * 任务单名称
     */
    //(value = "任务单名称")
    private String taskOrderName;

    /**
     * 责任人属性, 1自有，2外包
     */
    //(value = "责任人属性, 1自有，2外包")
    private Integer respAttribute;

    /**
     * 责任人名称
     */
    //(value = "责任人名称")
    private String respName;

    /**
     * 是否进行处罚, 1否，2是
     */
    //(value = "是否进行处罚, 1否，2是")
    private Integer respIsPenalty;

    /**
     * 处罚方式, 1现金，2其他
     */
    //(value = "处罚方式, 1现金，2其他")
    private Integer respPenaltyMode;

    /**
     * 责任网点处罚金额
     */
    //(value = "责任网点处罚金额")
    private BigDecimal respPenaltyAmount;

    /**
     * 责任网点备注
     */
    //(value = "责任网点备注")
    private String respRemark;
}
